The ISO (International Organization for Standardization)/IEC (International Electrotechnical Commission) video compression standards (for example, ISO/IEC 13818-2, reference 1, commonly known as the Motion Picture Expert Group (MPEG) 2 standard) define three types of coded pictures for use in the digitally coded video made according to the standards:
An I picture: which is an Intra-Field or Frame coded picture with no inter frame prediction used.
A P picture: which is a predictively coded picture with uni-directional inter frame prediction from a previous picture only; and
A B picture: which is a predictively coded picture with bi-directional inter frame predictions from both previous and future pictures.
Thus, I and P pictures can be used as reference pictures for inter frame temporal predictions for other P and B pictures. Some implementations, for example the H.264 specification, allow B pictures to be used as reference pictures for other B pictures. Such B pictures are called Reference B. Meanwhile, P pictures are differentially coded and so produce smaller file sizes than I pictures when coded; similarly B pictures produce even smaller file sizes. It is therefore beneficial to reducing the capacity needed to transmit or store MPEG2 video streams (i.e. sequences) that few I pictures and relatively more P and B pictures are used.
A contiguous sequence of pictures starting with an I picture and finishing with the picture before the next I picture is called a Group Of Pictures or GOP. P and B pictures are used between the I pictures, in order to reduce the video stream size.
The interval between I pictures (reference pictures) is known as a GOP Length, and the interval between P pictures is known as Sub-GOP Length. The order of the pictures in a GOP length is knows as a GOP Structure.
The arrangement of I, P and B pictures is governed by the MPEG2 specification, however no particular GOP length or structure (i.e. GOP parameters) is defined, and so it is left to manufacturers and users to choose the appropriate GOP parameters for any specific application.
The assumption inherent in the MPEG2 specification is that once chosen, the GOP parameters are fixed, i.e. it is not normally expected that the GOP would vary dynamically in size and structure. However, the specification does not definitively prohibit this.
Variable GOP has been used in the past, in order to ease difficulties arising in scalable MPEG video coding, where scalable means the ability to decode the bitstream representative of the encoded video at different quality levels, resolutions and frame rates.
An example of variable GOP scalable coding is provided in document WO2005086493A1. In this case, the GOP parameters are set so as to permit different decoder systems with different capabilities to be able to decode and render the video material. The GOP length is not adapted, but a second GOP differing from the normal one in length only, is selected if that option causes the coding cost, as measured by some parameter, to be lower. This type of scheme is specific to scalable coding and it is not flexible and does not adapt itself closely to the behaviour of the picture sequence. It does not deal specifically with defects in coding caused by practical factors such as scene changes, fades, flashes, temporal or special complexity, and the like. Meanwhile, using static (i.e. fixed) sized/structured GOPs leads to sub-optimal coding performance.
It is therefore an object of the present invention to deal with such matters and improve the practical performance of MPEG2 coding.